/*
 * Copyright (C) 2010-2011 Comcast Cable.  All Rights Reserved.
 */
package com.hercules.android.receiver.model.objects;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * This class represents the video resource that allows a video file or stream to be played. The location of the video
 * content is provided to the receiver via an URL; and the receiver is required to load the URL using a dedicated socket
 * connection (cannot reuse same socket being used to exchange XRE messages). The types of video that the receiver is
 * capable of playing back is out of the scope of this document, as most receiver implementations will choose to decode
 * video in a separate (native) process. It is a simple JavaBean (POJO) that provides getters and setters for all
 * private attributes and performs no argument validation in the setters.
 * </p>
 * <p>
 * <strong>Thread safety:</strong> This class is mutable and not thread safe.
 * </p>
 *
 * @author saarixx, jmn
 * @version 1.0
 */
public class XREVideo extends XREStreamResource {
    /**
     * Represents content options of {@link XREVideo}.
     * <p>
     * AndroidAssembly3 new field with getter and setter
     */
    private List<Map<String, String>> contentOptions = new ArrayList<Map<String, String>>();

    /**
     * Gets the content options of {@link XREVideo}.
     *
     * @return the content options of {@link XREVideo}
     */
    public List<Map<String, String>> getContentOptions() {
        return contentOptions;
    }

    /**
     * Sets the content options of {@link XREVideo}.
     *
     * @param contentOptions the content options of {@link XREVideo}
     */
    public void setContentOptions(List<Map<String, String>> contentOptions) {
        this.contentOptions = contentOptions;
    }

    /**
     * <p>
     * Creates new instance of {@link XREVideo} class.
     * </p>
     */
    public XREVideo() {
        setAutoPlay(true);
    }
}
